var express = require('express');
var router = express.Router();

//导入模型
const models = require('../models')

const moment = require('moment')


//查询所有的评论信息
router.get('/comments', async (req, res) => {
    try {
        //查询数据
        const data = await models.Comment.findAll({
            attributes: ['id', 'content', 'com_time', 'New.title', 'User.username'],
            where:{
               is_del:1
            },
            include: [models.New, models.User],
            order: [
                ['com_time', 'DESC']
            ],
            limit: 15
        });

        //处理数据
        let arr = [];
        data.forEach(item => {
            //把原来的对象New变成标题
            item.dataValues.New = item.dataValues.New.title;
            //把原来的对象User变成用户名
            item.dataValues.User = item.dataValues.User.username;
            //时间处理
            item.dataValues.com_time = moment(
                item.dataValues.com_time
            ).format("YYYY-MM-DD HH:mm:ss");
            arr.push(item);
        })
        //console.log(arr);
        //res.send(arr);
        //由于关联查询出来的数据比较大(对象），超过了art-template模板引擎的的大小限制
        arr = JSON.stringify(arr);
        arr = JSON.parse(arr);
        res.render('comments/list.html', {
            arr
        });
    } catch (e) {
        res.send(e.message)
    }
});

//删除指定的id的数据(软删除，逻辑删除，并不删除数据，只是更改状态)，物理删除指的是真正的把数据从磁盘中删除掉
router.patch('/comments/:id', async (req, res) => {
    try{
       let id = req.params.id;
       const [num] = await models.Comment.update({
           is_del: -1
       }, {
           where: {
               id
           }
       })
       if (num > 0) {
           res.cc(204, '删除成功')
       } else {
           res.cc(400, '删除失败')
       }
    }catch(e){
        res.cc(400,e.message)
    }
    

})




module.exports = router;